home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
The World of Computer Software.iso
/
sjcsfo.zip
/
SJCSFO.TXT
< prev
next >
Wrap
Text File
|
1992-11-19
|
51KB
|
1,734 lines
;Flight Simulator Adventure File
;
;Date Created: 11-19-1992
;
;A Flight from SJC-San Jose International to SFO-San Francisco International.
;Generated using the Pilot's ToolBox conversion feature that makes
;Adventure script files from FLIGHT PLANNER Flight Plans.
;
;The Pilot's ToolBox is a authored by Robert M. MacKay of RMM Consulting.
;For information on this product, contact Robert on Compuserve, in the
;FSFORUM, at ID 71641,2321.
;
;Required: FS4, AAF
;
;Recommended: A&SD, SGA, Flight Planner, Pilot's ToolBox
; Leave MAGROT.DRV driver out as it may mess up ILS approaches.
; Leave FRAME.DRV driver out as the Transponder is required.
;
;Notes: Clearance Del. Frequency is a default 118.0.
; Orig Ground Frequency is a default 121.7.
; Orig Tower Frequency is a default 124.0.
; Orig Departure Frequency is a default 121.3.
; Center Frequency is a default 134.15.
; Dest Approach Frequency is a default 134.5.
; Dest Tower Frequency is a default 120.5.
; Dest Ground Frequency is a default 121.8
; Flight Service Frequency is a default 122.20.
;
; Variables A-E are used to count seconds passed during timing loops.
; Variable F stores a 1/0 to show if downwind leg should be skipped.
; Variable G stores a 1/0 to show if base leg should be skipped.
; Variable H is used to calculate heading error.
; Variable I stores a 1/0 to show if a procedure turn is needed.
; Variable J is used to store the cloud cover density.
; Variable K is used as a counter for random weather change intervals.
; Variable L stores the current facility: 0-Grd 1-Twr 2-Dep 3-Ctr 4-App
; Variable M stores the current cleared heading (used by FPAutoPilot).
; Variable N stores the current cleared altitude (used by FPAutoPilot).
; Variable O is the message # counter fo the randome ATC chatter.
; Variable P stores a 1/0 to show if the Flight Plan Auto Pilot is on.
; Variable R is used to indicate climb, level, or descent (0/1/2).
; Variable S is used to track if user has deviated from IFR to VFR.
; Variables V and T store a 1/0 to indicate whether to use VOC/TXT.
; Variables W-Z are temporary variables for use in math, etc.
;
; This adventure works best with aircraft that cruise at 120kts.
;
; Winds from a Flight Planner flight plan are set at 3500' MSL.
;
; The FltPln AutoPilot (FPAP) will only climb/descend at 500 FPM.
; If you are going to use FPAP, be sure your flight plan was created
; with a plane having climb/descent rates of 500 FPM.
;
;Start adventure at origination. NOTE: This is a central point for the
;origination airport. It may put you in a building, water, etc. If you
;are crashed every time you start this adventure, then try changing the
;decimal values a little to move away from the object you are hitting.
;The best thing to do is get into FS4 and place yourself manually at the
;location you would like to start at and make a note of the exact N/E
;position. Then edit this file and place those coordinates in the
;following SETPOSITION statement.
;
;SETPOSITION(17185.0000,05164.0000,0)
;
;Set which random chatter message # to start with.
SETVAR(X,22)
Y:=random/X
O:=remainder
;Set misc items.
SETVAR(F,0)
SETVAR(G,0)
SETVAR(I,0)
SETVAR(L,0)
EQU norrot 754
EQU magvar 756
;
SETUP:
PRINT "Default scenery; BAYAREA.SC1 recommended - hit 'x'"
if key("x")
GOTO OPTIONS
endif
GOTO SETUP
;Setup options for Voice/Text/Both.
OPTIONS:
PRINT"Adventure Setup...Please answer the following questions:"
WAIT(4)
PRINT"Press (W) for VOICE only, (E) for TEXT only, or (R) Both."
CHKVT:
IF KEY("W") THEN
SETVAR(V,1)
SETVAR(T,0)
GOTO INTRO
ENDIF
IF KEY("E") THEN
SETVAR(V,0)
SETVAR(T,1)
GOTO INTRO
ENDIF
IF KEY("R") THEN
SETVAR(V,1)
SETVAR(T,1)
GOTO INTRO
ENDIF
GOTO CHKVT
;
INTRO:
; Set Winds on Surface and Aloft.
SETVAR(Y,-256)
SETVAR(Z,4)
w0vel:=w0vel&Y|Z
SETVAR(w0turb,0)
SETVAR(w0depth,45)
SETVAR(w0dir,21845)
SETVAR(Z,0)
w3vel:=w3vel&Y|Z
SETVAR(w3dir,0)
SETVAR(w3turb,0)
SETVAR(w3top,15000)
SETVAR(w3bot,915)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V00"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Welcome to the flight from SJC to SFO."
WAIT(4)
PRINT"A Flight Planner converted Adventure made by the Pilot's ToolBox."
WAIT(4)
PRINT"Tune in San Jose International Clearance Delivery on 118.0 when ready to begin,"
WAIT(4)
PRINT"or press X to see some instructions."
WAIT(4)
PRINT""
ENDIF
;
;On the ground at SJC receiving clearance.
LOOPC:
IF COM(118.0) THEN
LOOPCA:
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V01"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Jose International Clearance."
WAIT(4)
PRINT"Cleared to San Francisco International, direct SFO VOR, routing as filed."
WAIT(4)
PRINT"Climb and maintain 2000. Expect 3000 within 10 minutes after departure."
WAIT(4)
PRINT"Check latest weather report with Flight Service on 122.20."
WAIT(4)
PRINT"Departure on 121.3, ATIS on 125.20, Squawk 6404."
WAIT(8)
PRINT"Contact Ground on 121.7."
WAIT(4)
PRINT""
ENDIF
GOSUB CLEARVARS
GOTO LOOP1
ENDIF
IF KEY("R") THEN
GOTO INTRO
ENDIF
IF KEY("X") THEN
PRINT"Pressing R will repeat the last message."
WAIT(4)
PRINT"Pressing W activates FPAP, pressing E de-activates the FPAP."
WAIT(4)
PRINT"Pressing J when tuned to FSS gives flt plan summary & weather."
WAIT(4)
PRINT"Pressing X when tuned to FSS will toggle request to go VFR/IFR."
WAIT(4)
PRINT"Pressing 7 after Departure Clearance will unfold IAP of SFO"
WAIT(4)
PRINT"Tune in San Jose International Clearance Delivery on 118.0 when ready to begin."
WAIT(4)
PRINT""
ENDIF
GOTO LOOPC
;
;On the ground at SJC awaiting taxi instructions.
LOOP1:
GOSUB COUNTER
GOSUB FSS
IF KEY("R") THEN
GOTO LOOPCA
ENDIF
IF COM(121.7) THEN
LOOP1A:
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V02"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Jose International Ground."
WAIT(4)
PRINT"Taxi to runway 30R and hold short."
WAIT(4)
PRINT"When holding, Contact Tower on 124.0."
WAIT(4)
PRINT""
ENDIF
SETVAR(A,0)
LOOP1B:
IF VARTEST(A,10,9999) THEN
GOTO LOOP2
ENDIF
GOSUB FSS
WAIT(1)
ADDVAR(A,1)
GOTO LOOP1B
ENDIF
IF VARTEST(A,10,9999) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V03"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Contact San Jose International Ground on 121.7."
WAIT(4)
PRINT""
ENDIF
SETVAR(A,0)
ENDIF
GOTO LOOP1
;
;Taxi until holding short & squawking 6404
LOOP2:
IF KEY("R") THEN
GOTO LOOP1A
ENDIF
GOSUB FSS
IF GROUNDSPEED(0,0) THEN
IF COM(124.0) THEN
SETVAR(L,1)
IF XPNDR(6404) THEN
LOOP2A:
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V04"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Jose International Tower."
WAIT(4)
PRINT"You're cleared for departure runway 30R."
WAIT(4)
PRINT"Maintain runway heading on departure."
WAIT(4)
PRINT"Expect climbing turn to 2000."
WAIT(4)
PRINT""
ENDIF
GOTO LOOP2B
ENDIF
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V05"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Please squawk 6404 for radar contact."
WAIT(4)
ENDIF
WAIT(8)
GOTO LOOP2
ENDIF
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V06"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Contact San Jose International Tower on 124.0."
WAIT(4)
PRINT""
ENDIF
WAIT(5)
GOTO LOOP2
ENDIF
IF ALTAGL(100,9999) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V07"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Jose International Tower."
WAIT(4)
PRINT"You have departed before receiving clearance!"
WAIT(4)
PRINT"Your license is hereby revoked."
WAIT(4)
PRINT"Squawk 7777, tune 121.5, and activate your ELT."
WAIT(5)
PRINT"Your aircraft is being set to descend and maintain zero."
WAIT(4)
PRINT""
ENDIF
LOOP2C:
SETVAR(X,15)
SETVAR(Y,-256)
emrgcy:=emrgcy&Y|X
SETVAR(smoke_enable,1)
SETVAR(smoke_now,1)
WAIT(45)
DAMO:
SETVAR(magno,5)
GOTO DAMO
ENDIF
GOTO LOOP2
;
;Check for Takeoff in Wrong Direction
LOOP2B:
IF KEY("R") THEN
GOTO LOOP2A
ENDIF
IF ALTAGL(100,9999) THEN
IF HEADING(285,300) THEN
GOTO LOOP3
ENDIF
IF HEADING(300,315) THEN
GOTO LOOP3
ENDIF
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V08"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Jose International Tower."
WAIT(4)
PRINT"You have departed on the wrong runway!"
WAIT(4)
PRINT"Your license is hereby revoked."
WAIT(4)
PRINT"Squawk 7777, tune 121.5, and activate your ELT."
WAIT(5)
PRINT"Your aircraft is being set to descend and maintain zero."
WAIT(4)
PRINT""
ENDIF
GOTO LOOP2C
ENDIF
GOTO LOOP2B
;
;Takeoff
LOOP3:
IF KEY("R") THEN
GOTO LOOP2A
ENDIF
GOSUB FSS
IF ALTAGL(500,9999) THEN
LOOP3A:
IF RADIAL(17340,5060,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V09"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Jose International Tower."
WAIT(4)
PRINTVAR(W,"Climbing turn to 2000, heading ")
WAIT(4)
PRINT"Contact Departure on 121.3. Good day."
WAIT(4)
PRINT""
ENDIF
M:=W
SETVAR(N,2000)
GOTO LOOP4
ENDIF
GOTO LOOP3
;
;Contact Departure
LOOP4:
IF KEY("R") THEN
GOTO LOOP3A
ENDIF
GOSUB FPAPCHK
GOSUB TRAFFICCHK
GOSUB RADARCHK
GOSUB FSS
GOSUB COUNTER
IF COM(121.3) THEN
SETVAR(L,2)
W:=M
GOSUB CHKHDGDIRECT
IF VARTEST(H,-6,6) THEN
IF ALTITUDE(1800,31999) THEN
LOOP4A:
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V10"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Departure."
WAIT(4)
PRINT"Radar contact. Climb and maintain 3000."
WAIT(4)
ENDIF
IF GEARDOWN() THEN
IF VARMASK(retractable,255) THEN
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V11"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"San Jose International Tower reports gear still down."
WAIT(4)
ENDIF
ENDIF
ENDIF
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V12"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Contact Center on 134.15. See ya."
WAIT(4)
ENDIF
SETVAR(N,3000)
GOSUB CLEARVARS
GOTO LOOP5
ENDIF
IF CYLINDER(17185,5164,0,9) THEN
IF VARTEST(C,15,31999) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V13"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Departure."
WAIT(4)
PRINT"Please expedite climb to cleared altitude of 2000 now!"
WAIT(4)
ENDIF
SETVAR(C,0)
ENDIF
ENDIF
GOTO LOOP4
ENDIF
IF VARTEST(B,10,31999) THEN
IF RADIAL(17340,5060,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V14"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Departure."
WAIT(4)
PRINTVAR(W,"Establish a heading of ")
WAIT(4)
ENDIF
M:=W
SETVAR(B,0)
ENDIF
GOTO LOOP4
ENDIF
IF VARTEST(A,10,31999) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V15"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Tower."
WAIT(4)
PRINT"Contact Departure on 121.3."
WAIT(4)
ENDIF
SETVAR(A,0)
ENDIF
GOTO LOOP4
;
;Direct to San Francisco International VOR
LOOP5:
IF KEY("R") THEN
GOTO LOOP4A
ENDIF
GOSUB FPAPCHK
GOSUB TRAFFICCHK
GOSUB RADARCHK
GOSUB FSS
GOSUB COUNTER
IF COM(134.15)
SETVAR(L,3)
IF RADIAL(17340,5060,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
IF VARTEST(H,-6,6) THEN
LOOP5A:
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V16"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Center."
WAIT(4)
PRINT"Cleared direct to San Francisco International VOR at 3000."
WAIT(4)
ENDIF
GOSUB CLEARVARS
GOTO LOOP6
ENDIF
IF VARTEST(C,10,31999) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V17"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Center."
WAIT(4)
PRINTVAR(W,"Establish a heading to San Francisco International VOR of ")
WAIT(4)
PRINT"Frequency for San Francisco International VOR is 115.80."
WAIT(4)
ENDIF
M:=W
SETVAR(C,0)
ENDIF
GOTO LOOP5
ENDIF
IF VARTEST(A,5,31999) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V18"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Departure."
WAIT(4)
PRINT"Contact Center on 134.15."
WAIT(4)
ENDIF
SETVAR(A,0)
ENDIF
GOTO LOOP5
;
;Waiting to get to San Francisco International VOR
LOOP6:
IF KEY("R") THEN
GOTO LOOP5A
ENDIF
GOSUB FPAPCHK
GOSUB TRAFFICCHK
GOSUB RADARCHK
GOSUB FSS
GOSUB COUNTER
IF RADIAL(17340,5060,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
IF COM(134.15) THEN
IF CYLINDER(17263,5112,0,8) THEN
LOOP6A:
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V18"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Center."
WAIT(4)
PRINT"You're cleared direct to San Francisco International."
WAIT(4)
IF RADIAL(17340,5060,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
PRINTVAR(W,"New heading should be close to ")
WAIT(4)
PRINT"Maintain current cleared altitude of 3000."
WAIT(4)
SETVAR(R,1)
PRINT"Reduce speed and contact Approach on 134.50."
WAIT(4)
ENDIF
M:=W
SETVAR(N,3000)
GOSUB CLEARVARS
GOTO LOOP7
ENDIF
IF RADIAL(17263,5112,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
IF VARTEST(H,-6,6) THEN
IF ALTITUDE(2800,3200) THEN
SETVAR(R,1)
GOTO LOOP6
ENDIF
IF VARTEST(R,1,1) THEN
IF VARTEST(A,10,31999) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V19"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Center."
WAIT(4)
PRINT"Please maintain cleared altitude of 3000."
WAIT(4)
ENDIF
SETVAR(A,0)
ENDIF
GOTO LOOP6
ENDIF
IF CYLINDER(17263,5112,0,0.187) THEN
IF VARTEST(A,10,31999) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V20"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Center."
WAIT(4)
PRINT"Expedite your climb to 3000."
WAIT(4)
ENDIF
SETVAR(A,0)
ENDIF
ENDIF
GOTO LOOP6
ENDIF
IF VARTEST(B,10,31999) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V21"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Center."
WAIT(4)
PRINT"Establish and maintain a direct heading to San Francisco International VOR."
WAIT(4)
PRINTVAR(W,"You're heading should be close to ")
WAIT(4)
PRINT"Frequency for San Francisco International VOR is 115.80."
WAIT(4)
ENDIF
M:=W
SETVAR(B,0)
ENDIF
GOTO LOOP6
ENDIF
IF VARTEST(C,10,31999)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V22"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Center."
WAIT(4)
PRINT"Please remain on frequency 134.15."
WAIT(4)
ENDIF
SETVAR(C,0)
ENDIF
GOTO LOOP6
;
;Approach to destination airport San Francisco International
LOOP7:
; Set surface winds at destination
SETVAR(Y,-256)
SETVAR(Z,5)
w0vel:=w0vel&Y|Z
SETVAR(w0turb,0)
SETVAR(w0depth,45)
SETVAR(w0dir,-30947)
LOOP7C:
IF KEY("R") THEN
GOTO LOOP6A
ENDIF
GOSUB FPAPCHK
GOSUB TRAFFICCHK
GOSUB RADARCHK
GOSUB FSS
GOSUB COUNTER
IF COM(134.50) THEN
SETVAR(L,4)
;Check for when to turn downwind
IF CYLINDER(17340,5060,0,8) THEN
;See if approach will require a procedure turn after passing over the runway
SETVAR(W,10)
GOSUB CHKHDGDIRECT
IF VARTEST(H,-45,45) THEN
SETVAR(I,1)
ENDIF
;See if downwind is necessary, if not, go direct to base leg
SETVAR(W,190)
GOSUB CHKHDGDIRECT
IF VARTEST(H,-45,45) THEN
LOOP7B:
SETVAR(F,1)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V23"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Approach."
WAIT(4)
PRINT"Radar contact. Descend and maintain 2000."
WAIT(4)
PRINT"ATIS information is available on 118.85."
WAIT(4)
PRINT"Expect vectors to Final for runway 19L ILS approach."
WAIT(4)
PRINT""
ENDIF
SETVAR(N,2000)
GOSUB CLEARVARS
GOTO LOOP8
ENDIF
LOOP7A:
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V24"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Approach."
WAIT(4)
PRINT"Turn right for downwind heading 010."
WAIT(4)
PRINT"Descend and maintain 2000."
WAIT(4)
PRINT"Expect vectors to final for runway 19L ILS approach."
WAIT(4)
PRINT"ATIS information is available on 118.85."
WAIT(4)
ENDIF
SETVAR(M,10)
SETVAR(N,2000)
GOSUB CLEARVARS
GOTO LOOP8
ENDIF
GOTO LOOP7C
ENDIF
IF VARTEST(C,10,31999)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V25"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Center."
WAIT(4)
PRINT"Please contact Approach on frequency 134.50."
WAIT(4)
ENDIF
SETVAR(C,0)
ENDIF
GOTO LOOP7C
;
;On the downwind leg
LOOP8:
IF KEY("R") THEN
IF VARTEST(F,1,1) THEN
GOTO LOOP7B
ENDIF
GOTO LOOP7A
ENDIF
GOSUB FPAPCHK
GOSUB TRAFFICCHK
GOSUB COUNTER
IF COM(134.50) THEN
IF VARTEST(F,1,1) THEN
GOTO LOOP8C
ENDIF
;Check for when to turn base after downwind
IF CYLINDER(17340,5060,8,9999) THEN
GOTO LOOP8D
ENDIF
GOTO LOOP8
LOOP8C:
;Check for when to turn base if no downwind
IF CYLINDER(17340,5060,0,9999) THEN
LOOP8D:
;See if procedure turn is required. If so, issue command & go direct to final
IF VARTEST(I,1,1) THEN
GOTO LOOP8B
ENDIF
;See if base is necessary, if not, go direct to final leg
SETVAR(W,190)
GOSUB CHKHDGDIRECT
IF VARTEST(H,-20,20) THEN
LOOP8B:
SETVAR(G,1)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
IF VARTEST(I,1,1) THEN
PLAY"SJCSFO.V26"
ENDIF
IF VARTEST(I,0,0) THEN
PLAY"SJCSFO.V27"
ENDIF
ENDIF
IF VARTEST(T,1,1) THEN
IF VARTEST(I,1,1) THEN
PRINT"Cessna 18390 Approach."
WAIT(4)
PRINT"Execute a standard Procedure Turn."
WAIT(4)
PRINT"Maintain 2000. Contact San Francisco International Tower on 120.50."
WAIT(4)
PRINT""
ENDIF
IF VARTEST(I,0,0) THEN
PRINT"Cessna 18390 Approach."
WAIT(4)
PRINT"Maintain 2000. Contact San Francisco International Tower on 120.50."
WAIT(4)
PRINT""
ENDIF
ENDIF
SETVAR(N,2000)
GOSUB CLEARVARS
GOTO LOOP9
ENDIF
LOOP8A:
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
IF VARTEST(F,0,0) THEN
PLAY"SJCSFO.V28"
ENDIF
IF VARTEST(F,1,1) THEN
PLAY"SJCSFO.V29"
ENDIF
ENDIF
IF VARTEST(T,1,1) THEN
IF VARTEST(F,0,0) THEN
PRINT"Cessna 18390 Approach."
WAIT(4)
PRINT"Turn left for base heading 280."
WAIT(4)
PRINT"Maintain 2000. Contact San Francisco International Tower on 120.50."
WAIT(4)
ENDIF
IF VARTEST(F,1,1) THEN
PRINT"Cessna 18390 Approach."
WAIT(4)
PRINT"Turn right for base heading 280."
WAIT(4)
PRINT"Maintain 2000. Contact San Francisco International Tower on 120.50."
WAIT(4)
ENDIF
ENDIF
SETVAR(M,280)
SETVAR(N,2000)
GOSUB CLEARVARS
GOTO LOOP9
ENDIF
GOTO LOOP8
ENDIF
IF VARTEST(C,20,31999)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V30"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Approach."
WAIT(4)
PRINT"Please set radio to Approach frequency 134.50."
WAIT(4)
ENDIF
SETVAR(C,0)
ENDIF
GOTO LOOP8
;
;On the base leg
LOOP9:
IF KEY("R") THEN
IF VARTEST(G,1,1) THEN
GOTO LOOP8B
ENDIF
GOTO LOOP8A
ENDIF
IF VARTEST(P,1,1) THEN
GOSUB FPAPCHK
ENDIF
GOSUB TRAFFICCHK
GOSUB COUNTER
IF COM(120.50) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V31"
ENDIF
IF VARTEST(T,1,1) THEN
LOOP9A:
IF KEY("7")
VIEW(10,"SFOIAP.PCX")
ENDIF
PRINT"Cessna 18390 San Francisco International Tower."
WAIT(4)
PRINT"Cleared for landing on runway 19L, winds 190 at 5."
WAIT(4)
ENDIF
IF VARTEST(G,1,1) THEN
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V32"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Line up for final and intercept localizer 108.90."
ENDIF
ENDIF
IF VARTEST(G,0,0) THEN
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V33"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Turn left for final upon localizer 108.90 intercept."
ENDIF
WAIT(4)
ENDIF
IF VARTEST(P,1,1) THEN
WAIT(10)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V34"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"**ATTENTION** The Flight Plan Auto Pilot is about to disengage!"
ENDIF
SETVAR(P,0)
GOSUB FPAPOFF
ENDIF
GOSUB CLEARVARS
GOTO LOOP10
ENDIF
IF VARTEST(C,10,31999)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V35"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 Approach."
WAIT(4)
PRINT"Contact San Francisco International Tower on 120.50."
WAIT(4)
ENDIF
SETVAR(C,0)
ENDIF
GOTO LOOP9
;
;On final, waiting for touchdown
LOOP10:
IF KEY("7")
VIEW(10,"SFOIAP.PCX")
ENDIF
IF KEY("R") THEN
GOTO LOOP9A
ENDIF
GOSUB COUNTER
IF VARMASK(ground,1) THEN
GOTO LOOP11
ENDIF
IF COM(120.50) THEN
IF CYLINDER(17340,5060,0,5) THEN
LOOP10A:
IF GEARUP() THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V36"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Francisco International Tower."
WAIT(4)
PRINT"Please check landing gear status."
WAIT(4)
ENDIF
ENDIF
IF JETENGINE() THEN
IF GROUNDSPEED(200,999) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V37"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Francisco International Tower."
WAIT(4)
PRINT"Reduce speed for final approach."
WAIT(4)
ENDIF
ENDIF
ENDIF
IF PROPENGINE() THEN
IF GROUNDSPEED(150,999) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V37"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Francisco International Tower.
WAIT(4)
PRINT"Reduce speed for final approach."
WAIT(4)
ENDIF
ENDIF
ENDIF
ENDIF
WAIT(10)
GOTO LOOP10
ENDIF
IF VARTEST(C,10,31999)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V38"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Francisco International Tower."
WAIT(4)
PRINT"Please keep radio on Tower frequency 120.50."
WAIT(4)
ENDIF
SETVAR(C,0)
ENDIF
GOTO LOOP10
;
;Touchdown!
LOOP11:
GOSUB COUNTER
IF COM(120.50) THEN
IF VARTEST(A,10,31999) THEN
LOOP11A:
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V39"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Francisco International Tower."
WAIT(4)
PRINT"Turn off active runway on first available taxiway and hold."
WAIT(4)
PRINT"Contact San Francisco International Ground on 121.80."
WAIT(4)
ENDIF
GOSUB CLEARVARS
GOTO LOOP12
ENDIF
GOTO LOOP11
ENDIF
IF VARTEST(C,10,31999)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V40"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Francisco International Tower."
WAIT(4)
PRINT"Please keep radio on Tower frequency 120.50."
WAIT(4)
ENDIF
SETVAR(C,0)
ENDIF
GOTO LOOP11
;
;Turned off runway and holding
LOOP12:
IF KEY("R") THEN
GOTO LOOP11A
ENDIF
GOSUB COUNTER
IF COM(121.80) THEN
IF GROUNDSPEED(0,0) THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V41"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Francisco International Ground."
WAIT(4)
PRINT"Welcome to San Francisco International."
WAIT(4)
PRINT"Cleared for taxi to terminal area. So long."
WAIT(4)
PRINT"*** This concludes the adventure file ***"
WAIT(5)
ENDIF
EOF
ENDIF
GOTO LOOP12
ENDIF
IF VARTEST(C,20,31999)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"SJCSFO.V42"
ENDIF
IF VARTEST(T,1,1) THEN
PRINT"Cessna 18390 San Francisco International Tower."
WAIT(4)
PRINT"Please contact San Francisco International Ground on 121.80."
WAIT(4)
ENDIF
SETVAR(C,0)
ENDIF
GOTO LOOP12
;
;***************
;* SUBROUTINES *
;***************
;
COUNTER:
ADDVAR(A,1)
ADDVAR(B,1)
ADDVAR(C,1)
ADDVAR(D,1)
ADDVAR(E,1)
WAIT(1)
RETURN
;
CLEARVARS:
SETVAR(A,0)
SETVAR(B,0)
SETVAR(C,0)
SETVAR(D,0)
SETVAR(E,0)
RETURN
;
FPAPCHK:
;Parameters: M = Desired Heading
; N = Desired Altitude
IF KEY("7")
VIEW(10,"SFOIAP.PCX")
ENDIF
IF KEY("W") THEN
SETVAR(P,1)
SETVAR(heading_lock,1)
SETVAR(altit_lock,1)
PLAY"HASH.VOC"
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VYA"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"*** Flight Plan Auto Pilot is now engaged ***"
WAIT(4)
PRINT""
ENDIF
ENDIF
IF KEY("E") THEN
FPAPOFF:
SETVAR(P,0)
SETVAR(autop_master,0)
SETVAR(heading_lock,0)
SETVAR(altit_lock,0)
PLAY"HASH.VOC"
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VYB"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"*** Flight Plan Auto Pilot is now disengaged ***"
WAIT(4)
PRINT""
ENDIF
ENDIF
IF VARTEST(P,1,1) THEN
; Add MagVar and NorRot to Heading
SETVAR(X,180)
SETVAR(Z,32767)
SETVAR(W,0)
Y:=norrot+magvar
IF VARTEST(Y,-32765,-1) THEN
SETVAR(W,360)
ENDIF
Y:=norrot+magvar*X/Z-W+M
IF VARTEST(Y,361,999) THEN
Y:=Y-X-X
ENDIF
IF VARTEST(Y,-999,-1) THEN
Y:=Y+X+X
ENDIF
; Convert Heading to a WORD
SETVAR(Z,65534)
SETVAR(X,360)
IF VARTEST(Y,0,180) THEN
head_lock_var:=Y*Z/X
ENDIF
IF VARTEST(Y,181,360) THEN
head_lock_var:=Y*Z/X-Z
ENDIF
; Convert Altitude in feet to meters
SETVAR(Y,305)
SETVAR(Z,1000)
X:=N*Y/Z
altit_lock_var:=X
SETVAR(autop_master,1)
ENDIF
RETURN
;
FSS:
IF COM(122.20) THEN
IF KEY("J") THEN
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"PTB.VYC"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Cessna 18390 Flight Service."
WAIT(4)
PRINT"You're routed SJC->SFO at 3000."
WAIT(4)
PRINT"Latest weather report showed winds from 0 at 0 above 3500."
WAIT(4)
GOSUB WXCOND
WAIT(4)
PRINT""
ENDIF
SETVAR(C,0)
GOTO FSSDONE
ENDIF
IF VARTEST(L,0,1) THEN
GOTO FSSDONE
ENDIF
IF KEY("X") THEN
PLAY"HASH.VOC"
IF VARTEST(V, 1, 1) THEN
PLAY"SJCSFO.VYE"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Cessna 18390 Flight Service."
WAIT(4)
PRINT"You're cleared for deviation from plan."
WAIT(4)
PRINT"Radar service suspended. Squawk 1200."
WAIT(4)
PRINT"Fly VFR while deviated."
WAIT(4)
PRINT"Contact us again when ready to resume flight as filed."
WAIT(4)
PRINT""
ENDIF
SETVAR(S,1)
SETVAR(E,0)
GOTO FSSVFR
ENDIF
ENDIF
GOTO FSSDONE
FSSVFR:
IF COM(122.20) THEN
IF KEY("X") THEN
PLAY"HASH.VOC"
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VYD"
GOSUB FSSWHOV
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Cessna 18390 Flight Service."
WAIT(4)
PRINT"Radar service resuming. Squawk 6404."
WAIT(4)
GOSUB FSSWHOT
WAIT(4)
PRINT""
ENDIF
SETVAR(S,0)
SETVAR(C,0)
GOTO FSSDONE
ENDIF
GOSUB COUNTER
IF VARTEST(E,180,9999)
PLAY"HASH.VOC"
IF VARTEST(V,1,1) THEN
PLAY"PTB.VYF"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Cessna 18390 Flight Service."
WAIT(4)
PRINT"Contact us again when ready to resume flight as filed."
WAIT(4)
PRINT""
ENDIF
SETVAR(E,0)
ENDIF
ENDIF
GOSUB FPAPCHK
GOTO FSSVFR
FSSDONE:
RETURN
;
FSSWHOV:
IF VARTEST(V,1,1) THEN
IF VARTEST(L,0,0) THEN
PLAY"SJCSFO.VYG"
ENDIF
IF VARTEST(L,1,1) THEN
PLAY"SJCSFO.VYH"
ENDIF
IF VARTEST(L,2,2) THEN
PLAY"SJCSFO.VYI"
ENDIF
IF VARTEST(L,3,3) THEN
PLAY"SJCSFO.VYJ"
ENDIF
IF VARTEST(L,4,4) THEN
PLAY"SJCSFO.VYK"
ENDIF
ENDIF
RETURN
;
FSSWHOT:
IF VARTEST(T,1,1) THEN
IF VARTEST(L,0,0) THEN
PRINT"Contact Ground on 121.80."
ENDIF
IF VARTEST(L,1,1) THEN
PRINT"Contact Tower on 124.0."
ENDIF
IF VARTEST(L,2,2) THEN
PRINT"Contact Departure on 121.3, expect vectors back to plan."
ENDIF
IF VARTEST(L,3,3) THEN
PRINT"Contact Center on 134.15, expect vectors back to plan."
ENDIF
IF VARTEST(L,4,4) THEN
PRINT"Contact Approach on 134.50, navigate back into the pattern."
ENDIF
ENDIF
RETURN
;
WXUPDATE:
ADDVAR(K,1)
IF VARTEST(K,0,40) THEN
GOTO WXEND
ENDIF
SETVAR(K,0)
SETVAR(X,101)
Y:=random/X
X:=remainder
IF VARTEST(X,0,999) THEN
GOTO WXEND
ENDIF
SETVAR(X,101)
Y:=random/X
X:=remainder
IF VARTEST(X,0,0) THEN
SETVAR(Y,1)
J:=J-Y
IF VARTEST(J,-999,-1) THEN
SETVAR(J,0)
ENDIF
IF VARTEST(J,9,999) THEN
SETVAR(J,8)
ENDIF
X:=J
IF VARTEST(X,-999,-1) THEN
SETVAR(X,0)
ENDIF
IF VARTEST(X,9,999) THEN
SETVAR(X,8)
ENDIF
cloud1cover:=X
ENDIF
SETVAR(X,156)
cloud1top:=cloud1top-X-X
Y:=cloud1bot+X
IF VARTEST(Y,-9999,976) THEN
SETVAR(Y,976)
ENDIF
cloud1bot:=Y
WXEND:
RETURN
;
WXCOND:
SETVAR(X,305)
SETVAR(Z,100)
Y:=cloud1bot*X/Z
IF VARTEST(cloud1cover,0,0) THEN
PRINT"Visibility 10 with clear skies."
ENDIF
IF VARTEST(cloud1cover,1,4) THEN
PRINTVAR(Y,"Currently scattered clouds with a measured ceiling of ")
ENDIF
IF VARTEST(cloud1cover,5,7) THEN
PRINTVAR(Y,"Currently broken clouds with a measured ceiling of ")
ENDIF
IF VARTEST(cloud1cover,8,8) THEN
PRINTVAR(Y,"Currently overcast with a measured ceiling of ")
ENDIF
RETURN
;
CORRECTHDGCHK:
;
;Parameters: W = Opposite Desired Heading
;Variables : U = Current Heading
; X,Y,Z = temporary
;Outputs : W = Required Heading
; H = Absolute value of Heading error in degrees
;
; Compute good heading from radial
SETVAR(X,180)
W:=W+X
CHKHDGDIRECT:
SETVAR(X,360)
IF VARTEST(W,-800,0) THEN
W:=W+X
ENDIF
IF VARTEST(W,361,800) THEN
W:=W-X
ENDIF
; Compute current heading
IF COURSE(0,0) THEN
ENDIF
U:=RESULT
; Compute heading error regardless of Curr/Req Hdg values
H:=U-W
SETVAR(Y,-1)
IF VARTEST(H,-999,-1) THEN
H:=H*Y
ENDIF
; Compute heading error depending if Curr or Req heading is greater
IF VARTEST(H,181,999) THEN
SETVAR(Y,1)
Z:=W+Y
SETVAR(Y,360)
IF VARTEST(U,Z,999) THEN
H:=U-W-Y
GOTO CHKHDGCONT
ENDIF
H:=U-W+Y
ENDIF
CHKHDGCONT:
RETURN
;
RADARCHK:
IF XPNDR(6404) THEN
GOTO RADARCHKA
ENDIF
PLAY"HASH.VOC"
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VYL"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Cessna 18390 Center."
WAIT(2)
PRINT"We have lost you off the radar."
WAIT(2)
PRINT"Please squawk 6404 unless told otherwise."
WAIT(4)
PRINT""
ENDIF
WAIT(10)
GOTO RADARCHKB
RADARCHKA:
IF VARTEST(RANDOM,0,300) THEN
PLAY"HASH.VOC"
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VYM"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Cessna 18390 Center."
WAIT(2)
PRINT"Radar check to follow..."
WAIT(1)
ENDIF
IF ALTITUDE(0,0) THEN
ENDIF
PRINTVAR(RESULT,"...Altitude: ")
WAIT(2)
IF HEADING(0,0) THEN
ENDIF
PRINTVAR(RESULT,"...Heading: ")
WAIT(2)
IF COURSE(0,0) THEN
ENDIF
PRINTVAR(RESULT,"...Course: ")
WAIT(2)
IF AIRSPEED(0,0) THEN
ENDIF
PRINTVAR(RESULT,"...Airspeed: ")
WAIT(2)
PRINT ""
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VYN"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Radar check complete. Thank you and so long."
WAIT(2)
PRINT ""
ENDIF
ENDIF
RADARCHKB:
RETURN
;
;***************
;* ATC CHATTER *
;***************
;
TRAFFICCHK:
IF VARTEST(RANDOM,0,2500) THEN
IF VARTEST(O, 0, 0) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZA"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"American 267 Heavy Center."
WAIT(4)
PRINT"Climb to FL340, traffic eastbound at FL320."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 1, 1) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZB"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Delta 1244 Center."
WAIT(4)
PRINT"At station passage, resume normal navigation. So Long."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 2, 2) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZC"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Cessna 2034 Center."
WAIT(4)
PRINT"Descend and Maintain 3000. Contact Approach Control. Good day."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 3, 3) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZD"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Yankee Cargo 662 Center."
WAIT(4)
PRINT"You're cleared for 12000."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 4, 4) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZE"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"United 3168 Heavy Center."
WAIT(4)
PRINT"Reduce speed to 210. Descend and maintain FL180."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 5, 5) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZF"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"American 267 Heavy Center."
WAIT(4)
PRINT"Please repeat that last request."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 6, 6) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZG"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"US Air Express Center."
WAIT(4)
PRINT"Be advised of significant turbulence in the area."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 7, 7) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZH"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"American Eagle 2190 Center."
WAIT(4)
PRINT"Turn right for downwind. Expect ILS vectors."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 8, 8) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZI"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Care Flight One Center."
WAIT(4)
PRINT"You're cleared on a direct visual."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 9, 9) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZJ"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"American 2143 Center."
WAIT(4)
PRINT"Descend and maintain 7000. Continue to hold at the marker."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 10, 10) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZK"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Piper 6229 Center."
WAIT(4)
PRINT"Turn heading 080. Maintain current altitude."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 11, 11) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZL"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Grand Tours 215 Center."
WAIT(4)
PRINT"Remain under 1000 to continue visual clearance."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 12, 12) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZM"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Delta 447 Center."
WAIT(4)
PRINT"Squawk 2831. Expect radar check."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 13, 13) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZN"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Citation 220 Center."
WAIT(4)
PRINT"Climb to 15000. Watch for traffic westbound."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 14, 14) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZO"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Delta 310 Heavy Center."
WAIT(4)
PRINT"Descend to 2500 and contact approach. So long."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 15, 15) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZP"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Citation 220 Center."
WAIT(4)
PRINT"Turn heading 322. Maintain 16000."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 16, 16) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZQ"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"US Air 3351 Center."
WAIT(4)
PRINT"Expect vectors around storm cell."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 17, 17) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZR"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Continental 1144 Center."
WAIT(4)
PRINT"Proceed direct to outer marker and Hold."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 18, 18) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZS"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"United 337 Heavy Center."
WAIT(4)
PRINT"Prepare for handoff to approach when you reach 3000."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 19, 19) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZT"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Federal Express 662 Center."
WAIT(4)
PRINT"Expedite descent to 8000. Report fuel status."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 20, 20) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZU"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"United 449 Center."
WAIT(4)
PRINT"Reduce speed to 190. Contact Approach. Bye."
WAIT(4)
ENDIF
ENDIF
IF VARTEST(O, 21, 21) THEN
IF VARTEST(V, 1, 1) THEN
PLAY"PTB.VZV"
ENDIF
IF VARTEST(T, 1, 1) THEN
PRINT"Southwest 1221 Center."
WAIT(4)
PRINT"Maintain current heading and altitude."
WAIT(4)
ENDIF
ENDIF
PRINT""
ENDIF
ADDVAR(O,1)
IF VARTEST(O, 22, 999) THEN
SETVAR(O,0)
ENDIF
RETURN